﻿// ------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
// Licensed under the MIT License (MIT). See License.txt in the repo root for license information.
// ------------------------------------------------------------

namespace FabricDCA
{
    /// <summary>
    /// The syslog facility code is used to specify the type of program that is logging the message.
    /// </summary>
    /// <remarks>
    /// Messages with different facilities may be handled differently. The list of facilities available is defined by the standard.
    /// https://tools.ietf.org/html/rfc5424#section-6.2.1
    /// </remarks>
    public enum SyslogFacility
    {
        /// <summary>
        /// kernel Messages
        /// </summary>
        Kernel = 0,

        /// <summary>
        /// user level messages
        /// </summary>
        User = 1,

        /// <summary>
        /// mail system messages
        /// </summary>
        Mail = 2,

        /// <summary>
        /// system daemon messages
        /// </summary>
        Daemon = 3,

        /// <summary>
        /// security and auth related messages
        /// </summary>
        Auth = 4,

        /// <summary>
        /// messages generated by syslog itself
        /// </summary>
        Syslog = 5,

        /// <summary>
        /// line printer system messages
        /// </summary>
        Printers = 6,

        /// <summary>
        /// Network news subsystem messages
        /// </summary>
        News = 7,

        /// <summary>
        /// UUCP subsystem.
        /// </summary>
        UUCP = 8,

        /// <summary>
        /// Clock daemon
        /// </summary>
        Cron = 9,

        /// <summary>
        /// security/authorization messages (private)
        /// </summary>
        Security = 10,

        /// <summary>
        /// FTP daemon
        /// </summary>
        FTP = 11,

        /// <summary>
        /// NTP subsystem.
        /// </summary>
        NTP = 12,

        /// <summary>
        /// Log audit
        /// </summary>
        LogAudit = 13,

        /// <summary>
        ///  log alert
        /// </summary>
        LogAlert = 14,

        /// <summary>
        /// Clock dameon (2)
        /// </summary>
        ClockDaemon = 15,

        /// <summary>
        /// Reserved for local use.
        /// </summary>
        Local0 = 16,

        Local1 = 17,
        Local2 = 18,
        Local3 = 19,
        Local4 = 20,
        Local5 = 21,
        Local6 = 22,
        Local7 = 23,
    }
}